package java集合.HashSetDemo;

import java.util.HashSet;
import java.util.Iterator;

public class HashSetDemo {

    public static void main(String[] args) {
        /**
         * 证明：
         * 1:set是一个无序的集合，即：插入元素和取出元素的顺序不一致
         * 2:set允许插入null值
         * 3:set中元素不允许重复
         * 4:hashset使用数组+链表的方式存储元素，底层使用一种算法，后面会讲
         * 5:经过输出看出hashset对null值始终存在第0个索引
         * 6:在打乱插入顺序的时候，当我们进行取值的时候是有一定书顺序的
         */
        HashSet<Object> hashSet = new HashSet<>();
        hashSet.add("b");
        hashSet.add("a");
        hashSet.add("c");
        hashSet.add("d");
        hashSet.add(null);
        hashSet.add("f");
        hashSet.add("e");
        hashSet.add("y");
        hashSet.add("h");
        System.out.println(hashSet.size());
        System.out.println(hashSet);
        Iterator<Object> iterator = hashSet.iterator();
        while (iterator.hasNext()){
            System.out.println(iterator.next());
        }

    }
}
